package com.hyou.springboot2.dao;

import java.util.List;

import com.hyou.springboot2.dto.pojo.SysMenuDO;

/**
 * SysMenuDao Dao接口定义类，(表t_sys_menu)
 *
 * @author FengChangshuo
 * @version 1.0.0 2018-11-01 13:46:40 初始创建
 */
public interface SysMenuDao {

    /**
     * 新增一条SysMenuDO记录
     * 
     * @param sysMenu 要新增的SysMenuDO记录数据对象
     */
    void insert(SysMenuDO sysMenu);
    
    /**
     * 批量新增SysMenuDO记录
     * 
     * @param sysMenus 要新增的SysMenuDO记录数据对象集合
     */
    void insertBatch(List<SysMenuDO> sysMenus);
    
    /**
     * 根据主键ID，删除一条SysMenuDO记录
     * 
     * @param id SysMenuDO的主键
     */
    void deleteByPrimaryKey(Long id);
    
    /**
     * 根据主键ID，批量删除多条SysMenuDO记录
     *
     * @param ids SysMenuDO的主键集合
     */
    void deleteBatchByPrimaryKeys(List<Long> ids);
    
    /**
     * 根据主键更新SysMenuDO数据记录
     * 
     * @param sysMenu 要更新的SysMenuDO数据对象
     */
    void updateByPrimaryKeySelective(SysMenuDO sysMenu);
    
    /**
     * 根据主键查询SysMenuDO数据对象
     * 
     * @param id SysMenuDO的主键
     * @return SysMenuDO数据对象
     */
    SysMenuDO selectByPrimaryKey(Long id);
    
    /**
     * <pre>
     * 根据数据对象sysMenu查询符合条件的SysMenuDO结果集
     * 根据sysMenu动态拼接查询条件。
     * </pre>
     *
     * @param sysMenu 用于封装查询条件
     * @return SysMenuDO数据查询结果集
     */
    List<SysMenuDO> selectByConditions(SysMenuDO sysMenu);
    
}
